package UserInterface;

import java.util.Scanner;

public class UserInputIsSure{
    /*
     * 本接口使用规范
     * 需要有一个输入值，来判断用户是否输入
     * 返回值规范:
     * 0:确认 True
     * 1:不确认 False
     * -1:未知错误
     * 注:本接口配备用户自纠功能
     */
    public final int YNIsSure(String InputThing) {
        //害，终于可以一劳永逸了
        boolean flag = true;
        while (flag) {
            if (InputThing.equals("Y") || InputThing.equals("y") || InputThing.equals("Yes") || InputThing.equals("yes") || InputThing.equals("YEs") || InputThing.equals("YES")) {
                return 0;
            } else if (InputThing.equals("N") || InputThing.equals("n") || InputThing.equals("No") || InputThing.equals("no") || InputThing.equals("NO")) {
                return 1;
            }
            else{
                System.out.println("Invalid Input，请输入正确的选项 y/n");
                Scanner UserReInput = new Scanner(System.in);
                InputThing = UserReInput.nextLine();
            }
        }
        return -1;
    }
    public final int UsingCorrectNumInputIsCorrect(int LowNum, int HighNum, int Input) {
        /*
        *接口使用规范
        * **本接口只用来判断用户输入的，只支持正数判断**
        * 由于是int，最好用于0-100的判断
        * LowNum是下标，HighNum是上标，程序员输入的
        * 返回值规范
        * LowNum-HighNum返回为确认范围
        * -1为未知错误
        * -2为下标和上标一样
        * -3为上标和下标数字不符，如上标20 下标30的(反向查找啊，卡BUG啊)
        * 注:本接口配备用户自纠功能
        */
        boolean flag = true;
        while (flag) {
            if (LowNum == HighNum) {
                return -2;
            } else if (LowNum > HighNum) {
                return -3;
            } else if (LowNum < HighNum) {
                //接口正常执行
                if (Input < LowNum || Input > HighNum) {
                    System.out.println("您输入的值不正确，请确认您输入的值在" + LowNum + "和" + HighNum + "之间");
                    Scanner UserReInput = new Scanner(System.in);
                    Input = UserReInput.nextInt();
                }
                return Input;
            }
        }
        return -1;
    }
}